Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 7, 2025

This PR contains the following updates:

Package Change Age Confidence
@biomejs/biome (source) 2.3.2 -> 2.3.5 age confidence

Release Notes

biomejs/biome (@​biomejs/biome)

v2.3.5

Compare Source

Patch Changes
  • #​8023 96f3e77 Thanks @​ematipico! - Added support Svelte syntax {@​html}. Biome now is able to parse and format the Svelte syntax {@​html}:

    -{@​html   'div'}
    +{@​html 'div'}

    The contents of the expressions inside the {@&#8203;html <expression>} aren't formatted yet.

  • #​8058 5f68bcc Thanks @​ematipico! - Fixed a bug where the Biome Language Server would enable its project file watcher even when no project rules were enabled.

    Now the watching of nested configuration files and nested ignore files is delegated to the editor, if their LSP spec supports it.

  • #​8023 96f3e77 Thanks @​ematipico! - Added support Svelte syntax {@&#8203;render}. Biome now is able to parse and format the Svelte syntax {@&#8203;render}:

    -{@&#8203;render   sum(1, 2)   }
    +{@&#8203;render sum(1, 2)}

    The contents of the expressions inside the {@&#8203;render <expression>} aren't formatted yet.

  • #​8006 f0612a5 Thanks @​Bertie690! - Updated documentation and diagnostic for lint/complexity/noBannedTypes. The rule should have a more detailed description and diagnostic error message.

  • #​8039 da70d8b Thanks @​PFiS1737! - Biome now keeps a blank line after the frontmatter section in Astro files.

  • #​8042 b7efa6f Thanks @​dyc3! - The CSS Parser, with tailwindDirectives enabled, will now accept at rules like @media and @supports in @custom-variant shorthand syntax.

  • #​8064 3ff9d45 Thanks @​dibashthapa! - Fixed #​7967: Fixed the issue with support for advanced SVG props

  • #​8023 96f3e77 Thanks @​ematipico! - Added support Svelte syntax {@&#8203;attach}. Biome now is able to parse and format the Svelte syntax {@&#8203;attach}:

    -<div {@&#8203;attach    myAttachment   }>...</div>
    +<div {@&#8203;attach myAttachment}>...</div>

    The contents of the expressions inside the {@&#8203;attach <expression>} aren't formatted yet.

  • #​8001 6e8a50e Thanks @​ematipico! - Added support Svelte syntax {#key}. Biome now is able to parse and format the Svelte syntax {#key}:

    -{#key   expression} <div></div> {/key}
    +{#key expression}
    +  <div></div>
    +{/key}

    The contents of the expressions inside the {#key <expression>} aren't formatted yet.

  • #​8023 96f3e77 Thanks @​ematipico! - Added support Svelte syntax {@&#8203;const}. Biome now is able to parse and format the Svelte syntax {@&#8203;const}:

    -{@&#8203;const   name = value}
    +{@&#8203;const name = value}

    The contents of the expressions inside the {@&#8203;const <expression>} aren't formatted yet.

  • #​8044 8f77d4a Thanks @​Netail! - Corrected rule source references. biome migrate eslint should do a bit better detecting rules in your eslint configurations.

  • #​8065 1a2d1af Thanks @​Netail! - Added the nursery rule useArraySortCompare. Require Array#sort and Array#toSorted calls to always provide a compareFunction.

    Invalid:

    const array = [];
    array.sort();

    Valid:

    const array = [];
    array.sort((a, b) => a - b);
  • #​7673 a3a713d Thanks @​dyc3! - The HTML parser is now able to parse vue directives. This enables us to write/port Vue lint rules that require inspecting the <template> section. However, this more complex parsing may result in parsing errors where there was none before. For those of you that have opted in to the experimental support (aka experimentalFullSupportEnabled), we greatly appreciate your help testing this out, and your bug reports.

  • #​8031 fa6798a Thanks @​ematipico! - Added support for the Svelte syntax {#if}{/if}. The Biome HTML parser is now able to parse and format the {#if}{/if} blocks:

    <!-- if / else-if / else -->
    {#if porridge.temperature > 100}
    -<p>too hot!</p>
    +  <p>too hot!</p>
    {:else if 80 > porridge.temperature}
    -<p>too cold!</p>
    +  <p>too cold!</p>
    {:else if 100 > porridge.temperature}
    -<p>too too cold!</p>
    +  <p>too too cold!</p>
    {:else}
    -<p>just right!</p>
    +  <p>just right!</p>
    {/if}
  • #​8041 beeb7bb Thanks @​dyc3! - The CSS parser, with tailwindDirectives enabled, will now accept lists of selectors in @custom-variant shorthand syntax.

    @&#8203;custom-variant cell (th:has(&), td:has(&));
  • #​8028 c09e45c Thanks @​fmajestic! - The GitLab reporter now outputs format errors.

  • #​8037 78011b1 Thanks @​PFiS1737! - indentScriptAndStyle no longer indents the frontmatter in Astro files.

  • #​8009 6374b1f Thanks @​tmcw! - Fixed an edge case in the useArrowFunction rule.

    The rule no longer emits diagnostics for or offers to fix functions that reference
    the arguments object,
    because that object is undefined for arrow functions.

    Valid example:

    // Valid: this function cannot be transformed into an arrow function because
    // arguments is not defined for arrow functions.
    const getFirstArg = function () {
      return arguments[0];
    };

v2.3.4

Compare Source

Patch Changes
  • #​7989 4855c4a Thanks @​alissonlauffer! - Fixed a regression in Astro frontmatter parsing where comments inside quoted strings were incorrectly detected as actual comments. This caused the parser to prematurely terminate frontmatter parsing when encountering strings like const test = "//";.
    For example, the following Astro frontmatter now parses correctly:

    ---
    const test = "// not a real comment";
    ---
  • #​7968 0b28f5f Thanks @​denbezrukov! - Refactored formatter to use strict Token element for better performance. The new Token variant is optimized for static, ASCII-only text (keywords, operators, punctuation) with the following constraints:

    • ASCII only (no Unicode characters)
    • No newlines (\n, \r)
    • No tab characters (\t)

    This enables faster printing and fitting logic by using bulk string operations (push_str, len()) instead of character-by-character iteration with Unicode width calculations.

  • #​7941 19b8280 Thanks @​Conaclos! - Fixed #​7943. Rules' options are now properly merged with the inherited options from a shared configuration.

    This means that you can now override a specific option from a rule without resetting the other options to their default.

    Given the following shared configuration:

    {
      "linter": {
        "rules": {
          "style": {
            "useNamingConvention": {
              "level": "on",
              "options": {
                "strictCase": false,
                "conventions": [
                  {
                    "selector": { "kind": "variable", "scope": "global" },
                    "formats": ["CONSTANT_CASE"]
                  }
                ]
              }
            }
          }
        }
      }
    }

    And the user configuration that extends this shared configuration:

    {
      "extends": ["shared.json"],
      "linter": {
        "rules": {
          "style": {
            "useNamingConvention": {
              "level": "on",
              "options": { "strictCase": true }
            }
          }
        }
      }
    }

    The obtained merged configuration is now as follows:

    {
      "extends": ["shared.json"],
      "linter": {
        "rules": {
          "style": {
            "useNamingConvention": {
              "level": "on",
              "options": {
                "strictCase": true,
                "conventions": [
                  {
                    "selector": { "kind": "variable", "scope": "global" },
                    "formats": ["CONSTANT_CASE"]
                  }
                ]
              }
            }
          }
        }
      }
    }
  • #​7969 425963d Thanks @​ematipico! - Added support for the Svelte syntax {@&#8203;debug}. The Biome HTML parser is now able to parse and format the blocks:

    -{@&#8203;debug     foo,bar,    something}
    +{@&#8203;debug foo, bar, something}
  • #​7986 3256f82 Thanks @​lisiur! - Fixed #​7981. Now Biome correctly detects and parses lang='tsx' and lang='jsx' languages when used inside in .vue files, when .experimentalFullSupportEnabled is enabled.

  • #​7921 547c2da Thanks @​dyc3! - Fixed #​7854: The CSS parser, with tailwindDirectives enabled, will now parse @source inline("underline");.

  • #​7856 c9e20c3 Thanks @​Netail! - Added the nursery rule noContinue. Disallowing the usage of the continue statement, structured control flow statements such as if should be used instead.

    Invalid:

    let sum = 0,
      i;
    
    for (i = 0; i < 10; i++) {
      if (i >= 5) {
        continue;
      }
    
      sum += i;
    }

    Valid:

    let sum = 0,
      i;
    
    for (i = 0; i < 10; i++) {
      if (i < 5) {
        sum += i;
      }
    }

v2.3.3

Compare Source

Patch Changes

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the UPDATE-PATCH label Nov 7, 2025
@changeset-bot
Copy link

changeset-bot bot commented Nov 7, 2025

⚠️ No Changeset found

Latest commit: c055539

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@codecov
Copy link

codecov bot commented Nov 7, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.85%. Comparing base (f2b47cb) to head (c055539).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2829   +/-   ##
=======================================
  Coverage   68.85%   68.85%           
=======================================
  Files          44       44           
  Lines        1294     1294           
  Branches      181      181           
=======================================
  Hits          891      891           
  Misses        380      380           
  Partials       23       23           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@renovate renovate bot force-pushed the renovate/biomejs-biome-2.x branch 2 times, most recently from a7f6c2b to 340f812 Compare November 8, 2025 13:57
@renovate renovate bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.3 chore(deps): update dependency @biomejs/biome to v2.3.4 Nov 8, 2025
@renovate renovate bot force-pushed the renovate/biomejs-biome-2.x branch from 340f812 to c055539 Compare November 14, 2025 16:06
@renovate renovate bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.4 chore(deps): update dependency @biomejs/biome to v2.3.5 Nov 14, 2025
@philibea philibea merged commit 7870999 into main Nov 19, 2025
13 checks passed
@philibea philibea deleted the renovate/biomejs-biome-2.x branch November 19, 2025 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants